package org.eclipse.emf.db;

import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.EReference;
import org.eclipse.emf.extensions.IDBSchema;

public interface DBObject extends EObject {
    public long cdoID();

    public IDBSchema dbSchema();

    public long dbRevision();

    /**
     * @return true if this object was modified since the last load from DB. Return always true is the object has not being persisted at all.
     */
    public boolean dbIsModified();

    public <T> Iterable<T> dbDetached(EReference ref, Class<T> clazz);
}
